package com.vhall.component.controller.goods.facade;

import com.vhall.component.entity.goods.goods.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

/**
 * console端接口
 *
 * @author guoxin.wang
 * @date 2021/10/21
 */
@FeignClient(value = "GoodsConsoleFacade", path = "/v4/goods/console")
public interface GoodsConsoleFacade {

    /**
     * 控制台-创建商品信息
     *
     * @param reqVO 参数
     * @return 返回值
     */
    @PostMapping("/create")
    Boolean create(@Validated GoodsConsoleCreateReqVO reqVO);

    /**
     * 控制台-删除商品信息
     *
     * @param reqVO 参数
     * @return 返回值
     */
    @PostMapping("/delete")
    Boolean delete(@Validated GoodsConsoleDeleteReqVO reqVO);

    /**
     * 控制台-修改商品信息
     *
     * @param reqVO
     * @return
     */
    @PostMapping("/edit")
    Boolean update(@Validated GoodsConsoleUpdateReqVO reqVO);

    /**
     * 控制台-商品详情
     *
     * @param reqVO 参数
     * @return 返回值
     */
    @GetMapping("/detail")
    GoodsRspVO get(@Validated GoodsConsoleGetReqVO reqVO);

    /**
     * 控制台-商品列表
     *
     * @param reqVO 参数
     * @return 返回值
     */
    @GetMapping("/list")
    GoodsPageVO<GoodsRspVO> list(@Validated GoodsConsoleListReqVO reqVO);

}
